﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200134D RID: 4941
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class TakeMailAttachmentScRsp : IMessage<TakeMailAttachmentScRsp>, IMessage, IEquatable<TakeMailAttachmentScRsp>, IDeepCloneable<TakeMailAttachmentScRsp>, IBufferMessage
	{
		// Token: 0x17003E57 RID: 15959
		// (get) Token: 0x0600DD41 RID: 56641 RVA: 0x0025068B File Offset: 0x0024E88B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<TakeMailAttachmentScRsp> Parser
		{
			get
			{
				return TakeMailAttachmentScRsp._parser;
			}
		}

		// Token: 0x17003E58 RID: 15960
		// (get) Token: 0x0600DD42 RID: 56642 RVA: 0x00250692 File Offset: 0x0024E892
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return TakeMailAttachmentScRspReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003E59 RID: 15961
		// (get) Token: 0x0600DD43 RID: 56643 RVA: 0x002506A4 File Offset: 0x0024E8A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return TakeMailAttachmentScRsp.Descriptor;
			}
		}

		// Token: 0x0600DD44 RID: 56644 RVA: 0x002506AB File Offset: 0x0024E8AB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TakeMailAttachmentScRsp()
		{
		}

		// Token: 0x0600DD45 RID: 56645 RVA: 0x002506CC File Offset: 0x0024E8CC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TakeMailAttachmentScRsp(TakeMailAttachmentScRsp other) : this()
		{
			this.succMailIdList_ = other.succMailIdList_.Clone();
			this.failMailList_ = other.failMailList_.Clone();
			this.retcode_ = other.retcode_;
			this.attachment_ = ((other.attachment_ != null) ? other.attachment_.Clone() : null);
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600DD46 RID: 56646 RVA: 0x0025073A File Offset: 0x0024E93A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TakeMailAttachmentScRsp Clone()
		{
			return new TakeMailAttachmentScRsp(this);
		}

		// Token: 0x17003E5A RID: 15962
		// (get) Token: 0x0600DD47 RID: 56647 RVA: 0x00250742 File Offset: 0x0024E942
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> SuccMailIdList
		{
			get
			{
				return this.succMailIdList_;
			}
		}

		// Token: 0x17003E5B RID: 15963
		// (get) Token: 0x0600DD48 RID: 56648 RVA: 0x0025074A File Offset: 0x0024E94A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<ClientMailAttachmentItem> FailMailList
		{
			get
			{
				return this.failMailList_;
			}
		}

		// Token: 0x17003E5C RID: 15964
		// (get) Token: 0x0600DD49 RID: 56649 RVA: 0x00250752 File Offset: 0x0024E952
		// (set) Token: 0x0600DD4A RID: 56650 RVA: 0x0025075A File Offset: 0x0024E95A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Retcode
		{
			get
			{
				return this.retcode_;
			}
			set
			{
				this.retcode_ = value;
			}
		}

		// Token: 0x17003E5D RID: 15965
		// (get) Token: 0x0600DD4B RID: 56651 RVA: 0x00250763 File Offset: 0x0024E963
		// (set) Token: 0x0600DD4C RID: 56652 RVA: 0x0025076B File Offset: 0x0024E96B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemList Attachment
		{
			get
			{
				return this.attachment_;
			}
			set
			{
				this.attachment_ = value;
			}
		}

		// Token: 0x0600DD4D RID: 56653 RVA: 0x00250774 File Offset: 0x0024E974
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as TakeMailAttachmentScRsp);
		}

		// Token: 0x0600DD4E RID: 56654 RVA: 0x00250784 File Offset: 0x0024E984
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(TakeMailAttachmentScRsp other)
		{
			return other != null && (other == this || (this.succMailIdList_.Equals(other.succMailIdList_) && this.failMailList_.Equals(other.failMailList_) && this.Retcode == other.Retcode && object.Equals(this.Attachment, other.Attachment) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600DD4F RID: 56655 RVA: 0x002507FC File Offset: 0x0024E9FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.succMailIdList_.GetHashCode();
			num ^= this.failMailList_.GetHashCode();
			if (this.Retcode != 0U)
			{
				num ^= this.Retcode.GetHashCode();
			}
			if (this.attachment_ != null)
			{
				num ^= this.Attachment.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600DD50 RID: 56656 RVA: 0x0025086D File Offset: 0x0024EA6D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600DD51 RID: 56657 RVA: 0x00250875 File Offset: 0x0024EA75
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600DD52 RID: 56658 RVA: 0x00250880 File Offset: 0x0024EA80
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Retcode != 0U)
			{
				output.WriteRawTag(24);
				output.WriteUInt32(this.Retcode);
			}
			this.succMailIdList_.WriteTo(ref output, TakeMailAttachmentScRsp._repeated_succMailIdList_codec);
			if (this.attachment_ != null)
			{
				output.WriteRawTag(58);
				output.WriteMessage(this.Attachment);
			}
			this.failMailList_.WriteTo(ref output, TakeMailAttachmentScRsp._repeated_failMailList_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600DD53 RID: 56659 RVA: 0x002508FC File Offset: 0x0024EAFC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.succMailIdList_.CalculateSize(TakeMailAttachmentScRsp._repeated_succMailIdList_codec);
			num += this.failMailList_.CalculateSize(TakeMailAttachmentScRsp._repeated_failMailList_codec);
			if (this.Retcode != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Retcode);
			}
			if (this.attachment_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.Attachment);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600DD54 RID: 56660 RVA: 0x00250978 File Offset: 0x0024EB78
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(TakeMailAttachmentScRsp other)
		{
			if (other == null)
			{
				return;
			}
			this.succMailIdList_.Add(other.succMailIdList_);
			this.failMailList_.Add(other.failMailList_);
			if (other.Retcode != 0U)
			{
				this.Retcode = other.Retcode;
			}
			if (other.attachment_ != null)
			{
				if (this.attachment_ == null)
				{
					this.Attachment = new ItemList();
				}
				this.Attachment.MergeFrom(other.Attachment);
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600DD55 RID: 56661 RVA: 0x00250A02 File Offset: 0x0024EC02
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600DD56 RID: 56662 RVA: 0x00250A0C File Offset: 0x0024EC0C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 48U)
				{
					if (num == 24U)
					{
						this.Retcode = input.ReadUInt32();
						continue;
					}
					if (num == 48U)
					{
						goto IL_47;
					}
				}
				else
				{
					if (num == 50U)
					{
						goto IL_47;
					}
					if (num == 58U)
					{
						if (this.attachment_ == null)
						{
							this.Attachment = new ItemList();
						}
						input.ReadMessage(this.Attachment);
						continue;
					}
					if (num == 122U)
					{
						this.failMailList_.AddEntriesFrom(ref input, TakeMailAttachmentScRsp._repeated_failMailList_codec);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
				continue;
				IL_47:
				this.succMailIdList_.AddEntriesFrom(ref input, TakeMailAttachmentScRsp._repeated_succMailIdList_codec);
			}
		}

		// Token: 0x040057CD RID: 22477
		private static readonly MessageParser<TakeMailAttachmentScRsp> _parser = new MessageParser<TakeMailAttachmentScRsp>(() => new TakeMailAttachmentScRsp());

		// Token: 0x040057CE RID: 22478
		private UnknownFieldSet _unknownFields;

		// Token: 0x040057CF RID: 22479
		public const int SuccMailIdListFieldNumber = 6;

		// Token: 0x040057D0 RID: 22480
		private static readonly FieldCodec<uint> _repeated_succMailIdList_codec = FieldCodec.ForUInt32(50U);

		// Token: 0x040057D1 RID: 22481
		private readonly RepeatedField<uint> succMailIdList_ = new RepeatedField<uint>();

		// Token: 0x040057D2 RID: 22482
		public const int FailMailListFieldNumber = 15;

		// Token: 0x040057D3 RID: 22483
		private static readonly FieldCodec<ClientMailAttachmentItem> _repeated_failMailList_codec = FieldCodec.ForMessage<ClientMailAttachmentItem>(122U, ClientMailAttachmentItem.Parser);

		// Token: 0x040057D4 RID: 22484
		private readonly RepeatedField<ClientMailAttachmentItem> failMailList_ = new RepeatedField<ClientMailAttachmentItem>();

		// Token: 0x040057D5 RID: 22485
		public const int RetcodeFieldNumber = 3;

		// Token: 0x040057D6 RID: 22486
		private uint retcode_;

		// Token: 0x040057D7 RID: 22487
		public const int AttachmentFieldNumber = 7;

		// Token: 0x040057D8 RID: 22488
		private ItemList attachment_;
	}
}
